1. Field of the Invention
The present invention relates generally to managing computer resources within a network for parallel processing. Specifically, an economics model is used to tabulate resources, receive a demand, and produce a listing of one or more computers to satisfy the demand based on which computers currently have the largest reserve.
2. Description of the Related Art
The present invention is related to quantifying the supply of computational resources of a uni- or multi-computer. For each such computer these computational resources typically include at least one central processing unit (CPU), memory, temporary file space, and cache memory paging space. A uni-computer is considered herein as meaning a combination of computational resources contained in a single enclosure and typically connected to a local-area network (LAN) or a wide-area network (WAN). A multi-computer can be a “parallel” computer composed of several tightly coupled computers in a single enclosure or a “distributed” group of uni-computers that is loosely coupled via a LAN or WAN.
Multi-computer processing, hereinafter called multi-processing, involves the use of multiple computers to process a single computational task such as an application program. The term generally refers to the use of a parallel or a distributed computer. The programming of either a parallel or a distributed computer generally is referred to as “parallel programming.”
Multi-processing is supported by the use of the Message Passing Interface (MPI), which is a communication library. The defining feature of the message-passing model is that the transfer of data from the memory of one or more computers to the local memory of another one or more computers requires operations to be performed by all of the computers involved. Two versions of MPI software are generally available. First, the IBM Parallel Operating Environment (POE) is a licensed IBM product. Second, the Portable Implementation of MPI (MPICH) is publicly available and can be used on any computer since it does not require a license. In fact, MPICH can be used on a computer that has POE installed. Thus the number of computers available for multi-processing on a given network is larger if MPICH is used to support MPI rather than POE. However, both MPI and POE require a computer with UNIX or UNIX-like operating system, such as IBM AIX.
There are at least three advantages and motivations for using multi-computing. First, the potentially enormous demand for the computer resources of processor, memory, temporary file, and cache page that can be made by a computational task is divided among multiple computers. Second, the time required to complete a variety of scientific and engineering applications is scaled down by the number of processors used. Third, the reliability of completing such programs is increased because of the shortened processing time. The first of these reasons is the most important, since without sufficient resources no time-scaling is possible.